Notification of a Communication Session in a Different User Experience

ABSTRACT

Techniques for notification of a communication session in a different user experience are described. According to various implementations, a notification of an active communication session can be presented in a user experience that is not directly involved in the communication session. In at least some implementations, the session notification includes selectable functionality for enabling the particular user to join the communication session.

RELATED APPLICATIONS

This application claims priority under 35 U.S.C. 119(e) to U.S.Provisional Application No. 62/415,900, filed Nov. 1, 2016 and titled“Audio Icon for a Communication Session,” the entire disclosure of whichis hereby incorporated by reference.

BACKGROUND

Modern communication systems have an array of capabilities, includingintegration of various communication modalities with different services.For example, instant messaging, voice/video communications,data/application sharing, white-boarding, and other forms ofcommunication may be combined with presence and availability informationfor subscribers. Such systems may provide subscribers with the enhancedcapabilities such as providing instructions to callers for variousstatus categories, alternate contacts, calendar information, andcomparable features. Furthermore, collaboration systems enabling usersto share and collaborate in creating and modifying various types ofdocuments and content may be integrated with multimodal communicationsystems providing different kinds of communication and collaborationcapabilities. Such integrated systems are sometimes referred to asUnified Communication and Collaboration (UC&C) systems.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

Techniques for notification of a communication session in a differentuser experience are described. According to various implementations, anotification of an active communication session can be presented in auser experience that is not directly involved in the communicationsession. In at least some implementations, the session notificationincludes selectable functionality for enabling the particular user tojoin the communication session. Thus, a consistent user interactionmodel is provided that enables users to view status for communicationsessions and initiate participation in communication sessions within thecontext of user experiences that may not be involved in thecommunication sessions.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different instances in thedescription and the figures may indicate similar or identical items.

FIG. 1 is an illustration of an environment in an example implementationthat is operable to employ techniques discussed herein.

FIG. 2a illustrates an example implementation scenario for providing anotification of a communication session in accordance with one or moreimplementations.

FIG. 2b illustrates an example implementation scenario for providingcontent as part of a notification of a communication session inaccordance with one or more implementations.

FIG. 2c illustrates an example implementation scenario for providingcontent as part of a notification of a communication session inaccordance with one or more implementations.

FIG. 2d illustrates an example implementation scenario for enabling anon-participant user to share content to a communication session inaccordance with one or more implementations.

FIG. 3a illustrates an example implementation scenario for enabling auser to participate in a communication session in accordance with one ormore implementations.

FIG. 3b illustrates an example implementation scenario for userparticipation in a communication session in accordance with one or moreimplementations.

FIG. 3c illustrates an example implementation scenario for displayingcontent as part of a notification of a communication session inaccordance with one or more implementations.

FIG. 3d illustrates an example implementation scenario for enabling aparticipant to share content to a communication session in accordancewith one or more implementations.

FIG. 4 illustrates an example implementation scenario for participatingin a communication session in accordance with one or moreimplementations.

FIG. 5 is a flow diagram that describes steps in a method for enabling auser to view communication session status and initiate participation ina communication session in accordance with one or more implementations.

FIG. 6 is a flow diagram that describes steps in a method for queryingwhether a user is permitted to join a communication session inaccordance with one or more implementations.

FIG. 7 is a flow diagram that describes steps in a method fortransitioning a user experience for a communication session inaccordance with one or more implementations.

FIG. 8 illustrates an example system and computing device as describedwith reference to FIG. 1, which are configured to implementimplementations of techniques described herein.

DETAILED DESCRIPTION

Techniques for notification of a communication session in a differentuser experience are described. A communication session, for instance,refers to a real-time exchange of communication media between differentcommunication endpoints. Examples of a communication session include aVoice over Internet Protocol (VoIP) call, a video call, text messaging,a file transfer, content sharing, and/or combinations thereof. In atleast one implementation, a communication session represents a UnifiedCommunication and Collaboration (UC&C) session.

According to various implementations, a notification of an activecommunication session can be presented in a user experience that is notdirectly involved in the communication session. Consider, for example,that a particular user is interacting with an application, such as aproductivity application, within an application graphical user interface(GUI) for the application. A session notification is presented withinthe application GUI indicating that a communication session thatinvolves other users is occurring. At this point, the particular user isnot a participant in the communication session, but is made aware of thecommunication session via the session notification. Generally, the term“participant” refers to a user that is joined to a communication sessionand whose interaction functionality is enabled such that the user cancontribute communication media to the communication session, such asvoice, video, content, and so forth.

Continuing with this example, the session notification includesselectable functionality for enabling the particular user to join thecommunication session. Thus, the particular user interacts with thesession notification to join as a participant in the communicationsession. According to various implementations, the particular user canparticipate in the communication session while continuing to interactwith the application in the application GUI. For instance, the sessionnotification is updated to indicate that the particular user is now aparticipant in the communication session, and the particular user canparticipate in the communication session while remaining in the contextof the application GUI.

In at least some implementations, the session notification represents aportable object that can be embedded and surfaced across a variety ofdifferent user experiences, such as different application GUIs. Further,the session notification can be generated with a consistent visualappearance and functionality in a variety of different user experiences.In this way, a consistent user interaction model is provided thatenables users to view status for communication sessions and initiateparticipation in communication sessions within the context of userexperiences that may not be involved in the communication sessions.

Having presented an overview of example implementations in accordancewith one or more implementations, consider now an example environment inwhich example implementations may by employed.

FIG. 1 is an illustration of an environment 100 in an exampleimplementation that is operable to employ techniques for notification ofa communication session in a different user experience described herein.Generally, the environment 100 includes various devices, services, andnetworks that enable communication via a variety of differentmodalities. For instance, the environment 100 includes a client device102 connected to a network 104. The client device 102 may be configuredin a variety of ways, such as a traditional computer (e.g., a desktoppersonal computer, laptop computer, and so on), a mobile station, anentertainment appliance, a smartphone, a wearable device, a netbook, agame console, a handheld device (e.g., a tablet), combinations thereof,and so forth.

The network 104 is representative of a network that provides the clientdevice 102 with connectivity to various networks and/or services, suchas the Internet. The network 104 may provide the client device 102 withconnectivity via a variety of different connectivity technologies, suchas broadband cable, digital subscriber line (DSL), wireless cellular,wireless data connectivity (e.g., WiFi™), T-carrier (e.g., T1),Ethernet, and so forth. In at least some implementations, the network104 represents different interconnected wired and wireless networks.

The client device 102 includes a variety of different functionalitiesthat enable various activities and tasks to be performed. For instance,the client device 102 includes an operating system 106, applications108, a communication client 110, and a communication module 112.Generally, the operating system 106 is representative of functionalityfor abstracting various system components of the client device 102, suchas hardware, kernel-level modules and services, and so forth. Theoperating system 106, for instance, can abstract various components ofthe client device 102 to the applications 108 to enable interactionbetween the components and the applications 108.

The applications 108 represent functionalities for performing differenttasks via the client device 102. Examples of the applications 108include a word processing application, a spreadsheet application, a webbrowser, a gaming application, and so forth. The applications 108 may beinstalled locally on the client device 102 to be executed via a localruntime environment, and/or may represent portals to remotefunctionality, such as cloud-based services, web apps, and so forth.Thus, the applications 108 may take a variety of forms, such aslocally-executed code, portals to remotely hosted services, and soforth.

The communication client 110 is representative of functionality toenable different forms of communication via the client device 102.Examples of the communication client 110 include a voice communicationapplication (e.g., a VoIP client), a video communication application, amessaging application, a content sharing application, a unifiedcommunication & collaboration (UC&C) application, and combinationsthereof. The communication client 110, for instance, enables differentcommunication modalities to be combined to provide diverse communicationscenarios.

The communication module 112 is representative of functionality forenabling the client device 102 to communicate data over wired and/orwireless connections. For instance, the communication module 112represents hardware and logic for data communication via a variety ofdifferent wired and/or wireless technologies and protocols.

The client device 102 further includes a display device 114, whichrepresents functionality for visual output for the client device 102.Additionally, the display device 114 represents functionality forreceiving various types of input, such as touch input, pen input, and soforth.

The environment 100 further includes endpoint devices 116, which arerepresentative of devices and/or functionalities with which the clientdevice 102 may communicate. In at least some implementations, theendpoint devices 116 represent end-user devices such as discussed withreference to the client device 102. The endpoint devices 116 includecommunication clients 118, which are representative of functionalitiesto enable different forms of communication via the endpoint devices 116.The communication clients 118, for example, represent differentinstances of the communication client 110. For purposes of discussionherein, reference is made to an endpoint device 116 and a communicationclient 118, which represent instances of the endpoint devices 116 andthe communication clients 118, respectively.

In at least some implementations, the communication clients 110, 118represent interfaces to a communication service 120. Generally, thecommunication service 120 is representative of a service to performvarious tasks for management of communication between the client device102 and the endpoint device 116. The communication service 120, forinstance, can manage initiation, moderation, and termination ofcommunication sessions between the communication clients 110, 118.

The communication service 120 maintains a presence across many differentnetworks and can be implemented according to a variety of differentarchitectures, such as a cloud-based service, a distributed service, aweb-based service, and so forth. Examples of the communication service120 include a VoIP service, an online conferencing service, a UC&Cservice, and so forth.

The communication client 110 an experience module 122 which isrepresentative of functionality for performing various aspects ofnotification of a communication session in a different user experiencedescribed herein. According to various implementations, the experiencemodule 122 is configured to cause indications of communication sessionsto be presented across different user experiences. The experience module122, for instance, utilizes a communication object 124 to exposeindications of communications in different user experiences, such aswithin different instances of the applications 108. For example, theexperience module 122 can interface with an application 108 and embedthe communication object 124 within an instance of the application 108.As further detailed below, a user can interact with the communicationobject 124 via a visual session notification to enable the user tointerface with an associated communication session, such as to enablethe user to participate in the communication session and/or to accesscontent associated with the communication session.

Having described an example environment in which the techniquesdescribed herein may operate, consider now a discussion of some exampleimplementation scenarios for notification of a communication session ina different user experience in accordance with one or moreimplementations. The implementation scenarios may be implemented in theenvironment 100 discussed above and/or any suitable environment.

FIG. 2a depicts an implementation scenario 200 a for providing anotification of a communication session in accordance with one or moreimplementations. The scenario 200 a includes an application graphicaluser interface (GUI) 202 for an application 108 a and displayed on thedisplay device 114. Generally, the application 108 a represents aninstance of the applications 108 and is executing on the client device102. In this particular example, the application 108 a represents a chatapplication and in which a user 204 is engaged in a chat conversationwith other users. The application GUI 202, for instance, includes chatcontent 206 that represents portions of a chat conversation.

While the chat conversation is in progress, a session notification 208is presented in the lower portion of the application GUI 202. Generally,the session notification 208 indicates that users other than the user204 are engaged in a communication session 210. The session notification208, for instance, is populated with user visualizations 212 fordifferent users who are participants in the communication session 210.The session notification 208 can be presented in response to variousevents, such as initiation of the communication session 210, the user204 opening the application 108 a, the user authenticating with theclient device 102, and so forth. Alternatively, the session notification208 can be presented as a persistent notification displayed on thedisplay device 114.

In at least some implementations, the session notification 208 ispresented by the communication client 110. For instance, the sessionnotification 208 is a visual representation of the communication object124 that can be embedded in various user experiences, such as differentinstances of the applications 108. Thus, the application 108 a canpresent the application GUI 202 to enable the user 204 to interact withthe application 108 a, and the communication client 110 can embed thesession notification 208 within the application GUI 202 to enable theuser 204 to view a status of the communication session 210 and to takevarious actions in relation to the communication session 210. Theapplication 108 a and the communication client 110, for instance,represent two different and distinct applications that executeindependently of one another but that can interact to surface thesession notification 208, such as via the communication object 124.

In this particular implementation, the user 204 is not currently aparticipant in the communication session 210. Communication media of thecommunication session 210, for instance, is not accessible to the clientdevice 102. Thus, the user 204 is provided with a visual indication thatthe communication session 210 is occurring, but communication media ofthe communication session 210 is prevented from being accessed via theclient device 102 while the user 204 is not a participant.

In at least some implementations, the users represented by the uservisualizations 212 represent users that share a relationship with theuser 204, such as users in a contacts list of the user 204, users withina user group that includes the user 204, users with which the user 204has communicated previously, and so forth. In at least oneimplementation, the users represented by the user visualizations 212represent one or more users with which the user 204 is text chatting viathe application GUI 202. The text chat, for instance, is separate fromthe communication session 210. In at least some implementations, thecommunication session 210 is managed by the communication client 110,i.e., an application that is separate and independent from theapplication 108 a.

The session notification 208 further includes a media control 214, arecording indicator 216, a share control 218, and a join control 220.The media control 214 generally identifies media types that are includedin the communication session 210. In this particular example, the mediacontrol 214 includes an audio indicator and a video indicator, whichprovide a visual indication that the communication session 210 includesan exchange of both audio and video media.

The recording indicator 216 provides a visual indication of a recordingstatus of the communication session 210. For instance, presence of therecording indicator 216 indicates that the communication session 210 isbeing recorded, such as by one of the current participants in thecommunication session. Alternatively or additionally, the recordingindicator 216 can have different respective visual appearances based onwhether the communication session 210 is being recorded. In at leastsome implementations, the user 204 can select the recording indicator216 to cause the communication session 210 to be recorded locally on theclient device 102, even though the user 204 is not currently aparticipant in the communication session. Whether or not the user 204 ispermitted to record the communication session 210, however, may bedependent on permission settings for the communication session 210.

The share control 218 represents a visual indicator that is selectableto enable different types of content to be shared with the usersinvolved in the communication session 210. The user 204, for instance,can select the share control 218 to enable the user 204 to share contentwith the users involved in the communication session 210. In at leastsome implementations, the user 204 can share content with the usersinvolved in the communication session 210 and without the user 204 beingan actual participant in the communication session 210. Shared content,for instance, can be communicated via a service that is managing thecommunication session 210, e.g., the communication service 120.

The join control 220 is a visual indicator that is selectable toinitiate a join action to enable the user 204 to join the communicationsession 210. For instance, in response to selecting the join control220, the user 204 is added as a participant in the communication session210 such that communication media of the communication session 210 isaccessible to the client device 102, and the user 204 can exchangecommunication media (e.g., voice, video, and so forth) with other usersparticipating in the communication session 210. In at least someimplementations, the user 204 can be automatically joined to thecommunication session 210 in response to selecting the join control 220.Alternatively, selecting the join control 220 can cause a join requestto be sent to a particular user already involved in the communicationsession 210. If the particular user provides input indicating permissionto join, the user 204 can be joined to the communication session 210.However, if the particular user declines the join request, the user 204may be denied permission to join the communication session 210.

FIG. 2b depicts an implementation scenario 200 b for providing contentas part of a notification of a communication session in accordance withone or more implementations. The scenario 200 b, for instance,represents a continuation and/or variation of the scenario 200 a.

In the scenario 200 b, the session notification 208 includes a monitorregion 222 that can be populated with various types of content from thecommunication session 210. The monitor region 222, for instance, can bepresented even though the user 204 is not currently a participant in thecommunication session 210. In this particular example, the monitorregion 222 includes a user representation 224, which is a visualrepresentation of a participant in the communication session 210. Theuser representation 224, for instance, represents a user that iscurrently speaking and/or a user that is determined to be most active(e.g., speaking the most) during the communication session 210. Thus, inthis implementation, the user 204 can view via the monitor region 222 anindication of a user who is active in the communication session 210,even though the user 204 is not a participant in the communicationsession 210.

Generally, the monitor region 222 can be presented in various ways. Forinstance, the monitor region 222 can be presented by default as part ofthe session notification 208. Alternatively or additionally, the user204 can switch the monitor region 222 on or off, such as by selecting avideo control 214 a of the media control 214.

FIG. 2c depicts an implementation scenario 200 c for providing contentas part of a notification of a communication session in accordance withone or more implementations. The scenario 200 c, for instance,represents a continuation and/or variation of the scenarios 200 a, 200b.

In the scenario 200 c, the monitor region 222 is populated with textcontent 226 from the communication session 210. The text content 226,for instance, represents text provided by one of the participants in thecommunication session 210. In at least one implementations, the textcontent 226 represents text that is automatically transcribed (e.g., bythe communication client 110) from speech audio from a participant inthe communication session 210. Thus, the monitor region 222 is populatedwith content from the communication session 210, even though the user204 is not currently a participant in the communication session 210.

In at least one implementation, the text content 226 can be presented inresponse to the user 204 muting audio of the communication session 210.For instance, the user 204 can select an audio control 214 b, whichcauses audio media of the communication session 210 to be muted at theclient device 102. Accordingly, in response, audio of the communicationsession 210 is transcribed into the text content 226 and displayed inthe monitor region 222.

While the scenario 200 c shows text content 226 in the monitor region222, a variety of other types of content can be presented in the monitorregion 222, such as files, graphics, video content, interactive content,and so forth. The monitor region 222, for instance, is populated withcontent shared by a participant in the communication session 210.

FIG. 2d depicts an implementation scenario 200 d for enabling anon-participant user to share content to a communication session inaccordance with one or more implementations. The scenario 200 d, forinstance, represents a continuation and/or variation of the scenarios200 a-220 c.

In the scenario 200 d, the user 204 selects the share control 218, whichcauses a share region 228 to be presented. Generally, the share region228 represents a portion of the session notification 208 via which theuser 204 can share content with participants in the communicationsession 210, even though the user 204 is not a participant in thecommunication session. Various types of content can be shared via theshare region 228, such as text content (e.g., text messages), graphics,files, and so forth.

In this particular example, the user 204 has populated a content item230 to the share region 228. This causes the content item 230 to becommunicated to participants in the communication session 210 that areremote from the client device 102, such as to be displayed via graphicalinterfaces viewed by the participants. Thus, the communication object124 and the session notification 208 provide a variety of ways for anon-participant user to view session status and session content for acommunication session.

Thus, the scenarios 200 a-200 c depict that different types ofinformation and content pertaining to a communication session can bepresented to a user who is not a participant in the communicationsession. For instance, in at least one implementation, a non-participantuser can view an indication that a communication session is occurring,but the non-participant user is not permitted to access media content ofthe communication session. In a different implementation, anon-participant user is permitted to access certain types of contentpertaining to a communication session, such as based on permissionsettings that specify whether a non-participant user can access thecontent, and/or what types of content a non-participant user ispermitted to access.

Further to the scenario 200 d, the user 204 selects the join control220. If the user is able/permitted to join, the user 204 is added as aparticipant in the communication session 210. Consider, for example, thefollowing scenarios.

FIG. 3a depicts an example implementation scenario 300 a for enabling auser to participate in a communication session in accordance with one ormore implementations. The scenario 300 a, for example, represents acontinuation of the scenarios 200 a-200 d described above.

In the scenario 300 a, the user 204 has joined as a participant in thecommunication session 210 from within the context of the application 108a, such as described above. Accordingly, the session notification 208 isupdated to include a user visualization 302 that represents the user 204and indicates that the user 204 is a participant in the communicationsession 210. The user visualizations 212, for instance, are updated toinclude the user visualization 302.

Thus, the user 204 may exchange communication media with otherparticipants in the communication session 210, such as voice media,video media, and so forth. Further, the user 204 may participate in thecommunication session 210 from within the context of the application 108a. For instance, the user 204 may continue with the chat conversation206 within the application GUI 202 with one set of users, whileparticipating in the communication session 210 with a different set ofusers. In at least some implementations, the chat conversation withinthe application GUI 202 and the communication session 210 may includeone or more common participants other than the user 204, but may stillrepresent separate and distinct data flows implemented and managed bydifferent applications. The communication session 210, for instance, ismanaged by the communication client 110.

As part of joining the user 204 to the communication session 210, adisconnect control 304 is presented within the session notification 208.Generally, the disconnect control 304 is selectable to disconnect theuser 204 from the communication session 210, e.g., to remove the user204 as a participant in the communication session 210.

The session notification 208 also includes a launch control 306, whichis selectable to cause a separate GUI to be presented for participationin the communication session 210. For instance, selecting the launchcontrol 306 causes a GUI specific to the communication session 210 to bepresented, such as to overlay and/or replace the application GUI 202.

The session notification 208 further includes a microphone control 214 dand a phone control 214 e. Generally, the microphone control 214 d isselectable to turn a local microphone on or off, such as to mute andunmute audio input to the client device 102. The phone control 214 e isselectable to enable the user 204 to join the communication session 210via another device, such as a local phone. For instance, selecting thephone control 214 e causes a local phone to be connected to thecommunication session 210 such that the user 204 can participate in thecommunication session 210 via the local phone.

FIG. 3b depicts an example implementation scenario 300 b for userparticipation in a communication session in accordance with one or moreimplementations. The scenario 300 b, for example, represents acontinuation of the scenario 300 a described above.

In the scenario 300 b, the user 204 has joined the communication session210, such as described above. Further, the monitor region 222 ispresented as part of the session notification 208. As described above,the monitor region 222 can be populated with various content pertainingto the communication session 210, such as visual representations of aparticipant, shared content, text transcribed from voice audio, and soforth.

In this particular example, the monitor region 222 includes the userrepresentation 224. The user representation 224, for instance,represents a user that is currently speaking and/or a user that isdetermined to be most active (e.g., speaking the most) during thecommunication session 210. Thus, in this implementation, the user 204can view via the monitor region 222 an indication of a user who isactive in the communication session 210.

FIG. 3c depicts an implementation scenario 300 c for displaying contentas part of a notification of a communication session in accordance withone or more implementations. The scenario 300 c, for instance,represents a continuation and/or variation of the scenarios 300 a, 300b.

In the scenario 300 c, the monitor region 222 is populated with textcontent 308 from the communication session 210. The text content 308,for instance, represents text provided by one of the participants in thecommunication session 210. In at least one implementations, the textcontent 308 represents text that is automatically transcribed (e.g., bythe communication client 110) from speech audio from a participant inthe communication session 210.

While the scenario 200 c shows text content 308 in the monitor region222, a variety of other types of content can be presented in the monitorregion 222, such as files, graphics, video content, interactive content,and so forth. The monitor region 222, for instance, is populated withcontent shared by a participant in the communication session 210, suchas the user 204 and/or other participant.

FIG. 3d depicts an implementation scenario 300 d for enabling aparticipant to share content to a communication session in accordancewith one or more implementations. The scenario 300 d, for instance,represents a continuation and/or variation of the scenarios 300 a-300 c.

In the scenario 300 d, the user 204 is a participant in thecommunication session 210, and selects the share control 216, whichcauses the share region 228 to be presented. As mentioned above, varioustypes of content can be shared via the share region 228, such as textcontent (e.g., text messages), graphics, files, and so forth.

In this particular example, the user 204 has entered text content 310into the share region 228. This causes the text content 310 to becommunicated to other participants in the communication session 210,such as to be displayed via graphical interfaces viewed by theparticipants.

Thus, as described in the scenarios above, the communication object 124and the session notification 208 provide a variety of ways for anon-participant user and a participant user to view session status andsession content for a communication session. Further, the sessionnotification 208 can be configured in a variety of ways to providedifferent types of combinations of information pertaining to acommunication session.

Generally, the session notification 208 can be displayed relative to theapplication GUI 202 in a variety of ways. For instance, the sessionnotification 208 can be docked in position such that if the applicationGUI 202 is scrolled, the session notification 208 remains in place anddoes not scroll with the application GUI 202. Alternatively oradditionally, the session notification 208 is movable such that the user204 can drag the session notification 208 to different regions of theapplication GUI 202 and/or the display device 114.

Further to the scenario 300 d, the user 204 selects the launch control306, which causes a transition from the session notification 208 to anexpanded user experience for the communication session 210. Consider,for example, the following scenario.

FIG. 4 depicts an example implementation scenario 400 for participatingin a communication session in accordance with one or moreimplementations. The scenario 400 generally represents a continuationand/or variation of the scenarios described above.

The scenario 400 includes a communication GUI 402 that can be used toparticipate in the communication session 210. The communication GUI 402,for instance, represents a GUI for the communication client 110.Generally, the communication GUI 402 can be presented in response todifferent events, such as the user 204 joining the communication session210, the user 204 selecting the launch control 306 from the sessionnotification 208, and so forth. In this particular example, thecommunication GUI shows that for different users are participating inthe communication session 210, as represented by a user representation404 a, a user representation 404 b, a user representation 404 c, and auser representation 404 d. In this particular implementation, the userrepresentation 404 c represents the user 204, and the userrepresentations 404 a, 404 b, and 404 d represent participants in thecommunication session 210 that are remote from the user 204.

Generally, the user representations 404 a-404 d may be configured invarious ways. For instance, the user representations 404 a-404 c includelive video captured at locations of the respective users. The userrepresentation 404 d, however, includes a static image (e.g., an icon)that represents a respective user. The user represented by the userrepresentation 404 d, for instance, does not have an active video cameraor does not wish to allow live video of the user to be captured andpresented as part of the communication session 210.

According to various implementations, the user representations 404 a-404d can be animated in various ways to reflect voice activity from therespective users. For instance, in this particular example, the userrepresented by the user representation 404 a is currently speaking, andthus in response to detecting the audio from the user, the userrepresentation 404 a is modified with a visual animation 406 to showthat the user is in an active audio state.

As mentioned above, the user representation 404 c represents the user204, i.e., a user that is local to the client device 102 and that isparticipating in the communication session 210. In at least someimplementations, the user representation 404 c is selectable tomanipulate various audio related properties pertaining to thecommunication session 210. For instance, the user 204 can select theuser representation 404 c and manipulate the user representation 404 cto adjust the volume of the communication session 210 at the clientdevice 102 and/or at one or more devices for other participants in thecommunication session 210. The user 204, for example, can tap on theuser representation 404 c to activate its audio adjustmentfunctionality, and can then rotate the user representation 404 cclockwise to increase the output audio volume of the communicationsession 210 at the client device 102, or counterclockwise to decreasethe volume. In at least some implementations, adjusting the volume mayadjust the volume as output locally on the client device 102 and/or mayadjust the output volume that is sent to other devices participating inthe communication session 210.

When the volume property is adjusted, the user representation 404 c maybe animated to reflect the adjusted audio property. For instance, whenthe volume is increased, an animated ring 408 around the userrepresentation 404 c may increase in diameter to show the increase inaudio volume. Further, when the volume is decreased, the animated ring408 may decrease in diameter to show the decrease in audio volume. Thus,a user 204 may interact with the user representation 404 c to changevarious audio properties, and the change in audio properties may bevisually reflected in a visual attribute of the user representation 404c. Adjustment of audio volume is presented for purpose of example only,and various other audio properties may also be adjusted, such as tone,microphone sensitivity, noise reduction, various audio effects, and soforth. In at least some implementations, selecting a user representationcauses an audio adjustment GUI to be presented that enables a user toadjust these and other properties of audio involved in the communicationsession.

Alternatively or additionally to adjusting the audio properties of theuser 204, audio properties for other participants in the communicationsession 210 may be adjusted by interacting with their respective userrepresentations. For instance, consider an example where the user 204 ishaving difficulty hearing a remote user represented by the userrepresentation 404 b and that is speaking during the communicationsession 210. Accordingly, the user 204 can tap on the userrepresentation 404 b and manipulate the user representation 404 b toincrease the output audio volume for the respective user at the clientdevice 102. As with the user representation 404 c, various other audioproperties of the user associated with the user representation 404 b mayalso be adjusted via interaction with the user representation 404 b. Inat least some implementations, when an audio property of a remote useris adjusted, their respective user representation may be visuallyanimated to show the change in the audio property.

In at least some implementations, interaction by the user 204 with theuser representation 404 c causes a change in visual property for theuser representation 404 c as displayed at one or more remote devicesparticipating in the communication session 210. For instance, considerthat the user 204 provides input to the user representation 404 c. Theuser 204, for example, provides a gesture to the user representation 404c, such as a press and hold gesture with the user's finger on the userrepresentation 404 c. According to various implementations, this userinteraction with the user representation 404 c causes an emphasis of theusers voice and/or a custom visual pattern to be pushed to the userrepresentation 404 c as displayed on one or more devices that areparticipating in the communication session 210 and that are remote fromthe client device 102.

The communication GUI 402 further includes the disconnect control 304,the share control 218, and a minimize control 410. As mention above, thedisconnect control 304 is selectable to disconnect the user 204 from thecommunication session 210. The share control 218 is selectable to enablethe user 204 to send a text message to other participants (all or asubset of participants) in the communication session 210. The minimizecontrol 410 is selectable to cause the size of the communication GUI 402to be reduced, or the communication GUI 402 to be replaced with adifferent interface for the communication session 210. For instance,selecting the minimize control 410 causes the communication GUI 402 tobe replaced with the session notification 208 and while thecommunication session 210 remains active and in progress. In an exampleimplementation, selecting the minimize control 410 causes thecommunication GUI 402 to be removed and the session notification 208 tobe presented in the context of the application GUI 202 and while thecommunication session 210 remains active, such as depicted in thescenario 300.

Accordingly, techniques discussed herein provide a portablecommunication experience where while a user is engaged in an activity ina first user experience, the user can view communication status ofdifferent users who are communicating via a second user experience. Fromwithin the context of the first user experience, the user may select tobegin participating in a communication session with the different usersvia the second user experience. In at least some implementations, thefirst and second user experiences represent different respectiveapplications that are separately and individually executable to providedifferent user experiences.

Having discussed some example implementation scenarios, consider now adiscussion of some example procedures in accordance with one or moreimplementations.

The following discussion describes some example procedures fornotification of a communication session in a different user experiencein accordance with one or more implementations. The example proceduresmay be employed in the environment 100 of FIG. 1, the system 900 of FIG.9, and/or any other suitable environment. The procedures, for instance,represent example procedures for implementing the implementationscenarios described above. In at least some implementations, the stepsdescribed for the various procedures are implemented automatically andindependent of user interaction. According to various implementations,the procedures may be performed locally (e.g., at the client device 102)and/or at a network-based service, such as the communication service120.

FIG. 5 is a flow diagram that describes steps in a method in accordancewith one or more implementations. The method, for instance, describes anexample procedure for enabling a user to view communication sessionstatus and initiate participation in a communication session across avariety of different user experiences.

Step 500 outputs a session notification of a communication session aspart of a user experience that is different than the communicationsession. The communication client 110, for instance, outputs a visualindication of an active communication session within a GUI for adifferent user experience, such as a GUI for one of the applications108. For example, the visual indication identifies one or more usersthat are participating in the communication session, such as viarespective audio icons for the users. In at least some implementations,the user to whom the GUI for the different user experience is output isnot currently a participant in the communication session, e.g., is notauthenticated for participation in the communication session. Forinstance, as used herein, the term “participant” refers to a user who isauthenticated for access to a communication session, and who is joinedto the communication session.

Step 502 receives an indication of a user interaction with the sessionnotification from within the context of the user experience. The user,for instance, provides input that indicates a request to join thecommunication session.

Step 504 causes the user to join the communication session from withinthe context of the user experience. The user, for instance, is joined tothe communication session such that the user may begin exchanging audio,video, and/or other types of media with other participants in thecommunication session. In at least some implementations, a permissionprocess is implemented that queries whether the user is permitted tojoin the communication session, and a decision whether to allow the userto join the communication session is subject to such permission.

Step 506 updates the session notification to indicate that the user isjoined to the communication session. The session notification, forinstance, is updated to include a user visualization that represents theuser and indicates that the user is now a participant in thecommunication session.

FIG. 6 is a flow diagram that describes steps in a method in accordancewith one or more implementations. The method, for instance, describes anexample procedure for querying whether a user is permitted to join acommunication session.

Step 600 communicates a query that includes a request to allow a user tojoin a communication session. For example, in response to the userproviding input to a session notification to request to join thecommunication session, an entity involved in the communication sessionis queried for whether the user is permitted to join the communicationsession. In at least some implementations, the communication client 110communicates the query. A participant in the communication sessionand/or a managing entity (e.g., the communication service 120), forinstance, can be queried with a request to permit the user to join thecommunication session.

Step 602 receives a query response indicating that the user is permittedto join the communication session. The communication client 110, forinstance, receives the query response, such as from the communicationservice 120 and/or from a participant in the communication session. Theuser is then joined as a participant in the communication session.

Alternatively, the query response may indicate that the user is notpermitted to join the communication session. Thus, the user may bedenied permission to participate in the communication session such thatthe user cannot access communication media of the communication session.

FIG. 7 is a flow diagram that describes steps in a method in accordancewith one or more implementations. The method, for instance, describes anexample procedure for transitioning a user experience for acommunication session.

Step 700 receives an indication of an interaction by a user with asession notification presented within a first user experience and afterthe user has been joined to a communication session. The userinteraction, for instance, represents a further user interaction thatoccurs after the user has initially interacted with the sessionnotification and been joined to the communication session.

Step 702 presents a second user experience that replaces or visuallyoverlays the first user experience, the second user experience includingvisual representations of participants in the communication session. Thesession notification, for example, is replaced with a communication GUIfor the communication client 110. Further, the communication GUI ispopulated with visualizations of different participants (including theuser) in the communication session. Generally, each visualization can beimplemented in various ways, such as live video feed, a captured imageof a participant, a static visual representation, and so forth.

Step 704 visually animates a particular visual representation of aremote participant in the communication session to indicate a voiceactivity of the remote participant. An animated visual effect, forinstance, is applied to the particular visual representation to indicatethat the remote participant is speaking as part of the communicationsession.

Thus, implementations for notification of a communication session in adifferent user experience discussed herein enable communication statusto be surfaced across a variety of different experiences and enableusers to initiate participation in communication sessions from within avariety of different user experiences.

Having discussed some example procedures, consider now a discussion ofan example system and device in accordance with one or moreimplementations.

FIG. 8 illustrates an example system generally at 800 that includes anexample computing device 802 that is representative of one or morecomputing systems and/or devices that may implement various techniquesdescribed herein. For example, the client device 102, the endpointdevice 116, and/or the communication service 120 discussed above withreference to FIG. 1 can be embodied as the computing device 802. Thecomputing device 802 may be, for example, a server of a serviceprovider, a device associated with the client (e.g., a client device),an on-chip system, and/or any other suitable computing device orcomputing system.

The example computing device 802 as illustrated includes a processingsystem 804, one or more computer-readable media 806, and one or moreInput/Output (I/O) Interfaces 808 that are communicatively coupled, oneto another. Although not shown, the computing device 802 may furtherinclude a system bus or other data and command transfer system thatcouples the various components, one to another. A system bus can includeany one or combination of different bus structures, such as a memory busor memory controller, a peripheral bus, a universal serial bus, and/or aprocessor or local bus that utilizes any of a variety of busarchitectures. A variety of other examples are also contemplated, suchas control and data lines.

The processing system 804 is representative of functionality to performone or more operations using hardware. Accordingly, the processingsystem 804 is illustrated as including hardware element 810 that may beconfigured as processors, functional blocks, and so forth. This mayinclude implementation in hardware as an application specific integratedcircuit or other logic device formed using one or more semiconductors.The hardware elements 810 are not limited by the materials from whichthey are formed or the processing mechanisms employed therein. Forexample, processors may be comprised of semiconductor(s) and/ortransistors (e.g., electronic integrated circuits (ICs)). In such acontext, processor-executable instructions may beelectronically-executable instructions.

The computer-readable media 806 is illustrated as includingmemory/storage 812. The memory/storage 812 represents memory/storagecapacity associated with one or more computer-readable media. Thememory/storage 812 may include volatile media (such as random accessmemory (RAM)) and/or nonvolatile media (such as read only memory (ROM),Flash memory, optical disks, magnetic disks, and so forth). Thememory/storage 812 may include fixed media (e.g., RAM, ROM, a fixed harddrive, and so on) as well as removable media (e.g., Flash memory, aremovable hard drive, an optical disc, and so forth). Thecomputer-readable media 806 may be configured in a variety of other waysas further described below.

Input/output interface(s) 808 are representative of functionality toallow a user to enter commands and information to computing device 802,and also allow information to be presented to the user and/or othercomponents or devices using various input/output devices. Examples ofinput devices include a keyboard, a cursor control device (e.g., amouse), a microphone (e.g., for voice recognition and/or spoken input),a scanner, touch functionality (e.g., capacitive or other sensors thatare configured to detect physical touch), a camera (e.g., which mayemploy visible or non-visible wavelengths such as infrared frequenciesto detect movement that does not involve touch as gestures), and soforth. Examples of output devices include a display device (e.g., amonitor or projector), speakers, a printer, a network card,tactile-response device, and so forth. Thus, the computing device 802may be configured in a variety of ways as further described below tosupport user interaction.

Various techniques may be described herein in the general context ofsoftware, hardware elements, or program modules. Generally, such modulesinclude routines, programs, objects, elements, components, datastructures, and so forth that perform particular tasks or implementparticular abstract data types. The terms “module,” “functionality,”“entity,” and “component” as used herein generally represent software,firmware, hardware, or a combination thereof. The features of thetechniques described herein are platform-independent, meaning that thetechniques may be implemented on a variety of commercial computingplatforms having a variety of processors.

An implementation of the described modules and techniques may be storedon or transmitted across some form of computer-readable media. Thecomputer-readable media may include a variety of media that may beaccessed by the computing device 802. By way of example, and notlimitation, computer-readable media may include “computer-readablestorage media” and “computer-readable signal media.”

“Computer-readable storage media” may refer to media and/or devices thatenable persistent storage of information in contrast to mere signaltransmission, carrier waves, or signals per se. Computer-readablestorage media do not include signals per se. The computer-readablestorage media includes hardware such as volatile and non-volatile,removable and non-removable media and/or storage devices implemented ina method or technology suitable for storage of information such ascomputer readable instructions, data structures, program modules, logicelements/circuits, or other data. Examples of computer-readable storagemedia may include, but are not limited to, RAM, ROM, EEPROM, flashmemory or other memory technology, CD-ROM, digital versatile disks (DVD)or other optical storage, hard disks, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, or otherstorage device, tangible media, or article of manufacture suitable tostore the desired information and which may be accessed by a computer.

“Computer-readable signal media” may refer to a signal-bearing mediumthat is configured to transmit instructions to the hardware of thecomputing device 802, such as via a network. Signal media typically mayembody computer readable instructions, data structures, program modules,or other data in a modulated data signal, such as carrier waves, datasignals, or other transport mechanism. Signal media also include anyinformation delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media include wired media such as awired network or direct-wired connection, and wireless media such asacoustic, radio frequency (RF), infrared, and other wireless media.

As previously described, hardware elements 810 and computer-readablemedia 806 are representative of instructions, modules, programmabledevice logic and/or fixed device logic implemented in a hardware formthat may be employed in some implementations to implement at least someaspects of the techniques described herein. Hardware elements mayinclude components of an integrated circuit or on-chip system, anapplication-specific integrated circuit (ASIC), a field-programmablegate array (FPGA), a complex programmable logic device (CPLD), and otherimplementations in silicon or other hardware devices. In this context, ahardware element may operate as a processing device that performsprogram tasks defined by instructions, modules, and/or logic embodied bythe hardware element as well as a hardware device utilized to storeinstructions for execution, e.g., the computer-readable storage mediadescribed previously.

Combinations of the foregoing may also be employed to implement varioustechniques and modules described herein. Accordingly, software,hardware, or program modules and other program modules may beimplemented as one or more instructions and/or logic embodied on someform of computer-readable storage media and/or by one or more hardwareelements 810. The computing device 802 may be configured to implementparticular instructions and/or functions corresponding to the softwareand/or hardware modules. Accordingly, implementation of modules that areexecutable by the computing device 802 as software may be achieved atleast partially in hardware, e.g., through use of computer-readablestorage media and/or hardware elements 810 of the processing system. Theinstructions and/or functions may be executable/operable by one or morearticles of manufacture (for example, one or more computing devices 802and/or processing systems 804) to implement techniques, modules, andexamples described herein.

As further illustrated in FIG. 8, the example system 800 enablesubiquitous environments for a seamless user experience when runningapplications on a personal computer (PC), a television device, and/or amobile device. Services and applications run substantially similar inall three environments for a common user experience when transitioningfrom one device to the next while utilizing an application, playing avideo game, watching a video, and so on.

In the example system 800, multiple devices are interconnected through acentral computing device. The central computing device may be local tothe multiple devices or may be located remotely from the multipledevices. In one implementation, the central computing device may be acloud of one or more server computers that are connected to the multipledevices through a network, the Internet, or other data communicationlink.

In one implementation, this interconnection architecture enablesfunctionality to be delivered across multiple devices to provide acommon and seamless experience to a user of the multiple devices. Eachof the multiple devices may have different physical requirements andcapabilities, and the central computing device uses a platform to enablethe delivery of an experience to the device that is both tailored to thedevice and yet common to all devices. In one implementation, a class oftarget devices is created and experiences are tailored to the genericclass of devices. A class of devices may be defined by physicalfeatures, types of usage, or other common characteristics of thedevices.

In various implementations, the computing device 802 may assume avariety of different configurations, such as for computer 814, mobile816, and television 818 uses. Each of these configurations includesdevices that may have generally different constructs and capabilities,and thus the computing device 802 may be configured according to one ormore of the different device classes. For instance, the computing device802 may be implemented as the computer 814 class of a device thatincludes a personal computer, desktop computer, a multi-screen computer,laptop computer, netbook, and so on.

The computing device 802 may also be implemented as the mobile 816 classof device that includes mobile devices, such as a mobile phone, portablemusic player, portable gaming device, a tablet computer, a wearabledevice, a multi-screen computer, and so on. The computing device 802 mayalso be implemented as the television 818 class of device that includesdevices having or connected to generally larger screens in casualviewing environments. These devices include televisions, set-top boxes,gaming consoles, and so on.

The techniques described herein may be supported by these variousconfigurations of the computing device 802 and are not limited to thespecific examples of the techniques described herein. For example,functionalities discussed with reference to the communication client 110and/or the communication service 120 may be implemented all or in partthrough use of a distributed system, such as over a “cloud” 820 via aplatform 822 as described below.

The cloud 820 includes and/or is representative of a platform 822 forresources 824. The platform 822 abstracts underlying functionality ofhardware (e.g., servers) and software resources of the cloud 820. Theresources 824 may include applications and/or data that can be utilizedwhile computer processing is executed on servers that are remote fromthe computing device 802. Resources 824 can also include servicesprovided over the Internet and/or through a subscriber network, such asa cellular or Wi-Fi network.

The platform 822 may abstract resources and functions to connect thecomputing device 802 with other computing devices. The platform 822 mayalso serve to abstract scaling of resources to provide a correspondinglevel of scale to encountered demand for the resources 824 that areimplemented via the platform 822. Accordingly, in an interconnecteddevice implementation, implementation of functionality described hereinmay be distributed throughout the system 800. For example, thefunctionality may be implemented in part on the computing device 802 aswell as via the platform 822 that abstracts the functionality of thecloud 820.

Discussed herein are a number of methods that may be implemented toperform techniques discussed herein. Aspects of the methods may beimplemented in hardware, firmware, or software, or a combinationthereof. The methods are shown as a set of steps that specify operationsperformed by one or more devices and are not necessarily limited to theorders shown for performing the operations by the respective blocks.Further, an operation shown with respect to a particular method may becombined and/or interchanged with an operation of a different method inaccordance with one or more implementations. Aspects of the methods canbe implemented via interaction between various entities discussed abovewith reference to the environment 80.

Techniques for notification of a communication session in a differentuser experience are described. Although implementations are described inlanguage specific to structural features and/or methodological acts, itis to be understood that the implementations defined in the appendedclaims are not necessarily limited to the specific features or actsdescribed. Rather, the specific features and acts are disclosed asexample forms of implementing the claimed implementations.

Generally, implementations discussed herein include a system forenabling a user to join a communication session from within the contextof a different user experience, the system including: one or moreprocessors; and one or more computer-readable storage media storinginstructions that are executable by the one or more processors toperform operations including: outputting a session notification of acommunication session as part of a user experience that is differentthan the communication session, the user experience involving a userthat is not currently a participant in the communication session;receiving an indication of a user interaction with the sessionnotification from within the context of the user experience; and causingthe user to join the communication session from within the context ofthe user experience.

In addition to the system described above, implementations include:wherein the communication session is implemented via a firstapplication, and the user experience includes a second applicationdifferent than the first application; wherein the user experienceincludes a text chat experience, and the communication session includesa real-time exchange of voice media; wherein the session notificationincludes a representation of a different user that is a participant inthe communication session but is not a participant in the userexperience; wherein the session notification is a visual representationof a communication object that is embedded within the user experience;wherein the session notification is a visual representation of acommunication object that is embedded within the user experience, andwherein the communication object is controlled by a communication clientthat manages the communication session; wherein the session notificationis a visual representation of a communication object that is embeddedwithin the user experience, and wherein the communication object isportable such that the communication object is embeddable in multipledifferent user experiences; wherein said causing the user to join thecommunication session includes: communicating a query that includes arequest to allow the user to join the communication session; andreceiving a query response indicating that the user is permitted to jointhe communication session; wherein the user is joined to thecommunication session such that the user is enabled to, from within thecontext of the user experience, concurrently participate in thecommunication session and interact with the user experience; wherein thesession notification includes visual representations of differentparticipants in the communication session, and wherein the operationsfurther include, based on the user joining the communication session,updating the session notification to include a visual representation ofthe user; wherein the operations further include: presenting a differentuser experience that replaces or visually overlays the user experience,the different user experience including visual representations ofparticipants in the communication session; and visually animating aparticular visual representation of a remote participant in thecommunication session to indicate a voice activity of the remoteparticipant; wherein the operations further include: receiving anindication of a further user interaction with the session notificationafter the user has been joined to the communication session; andpresenting a different user experience that replaces or visuallyoverlays the user experience, the different user experience includingvisual representations of participants in the communication session.

Implementations further include a method for enabling a user to join acommunication session from within the context of a different userexperience, the method including: outputting a session notification of acommunication session as part of a user experience that is differentthan communication session; receiving an indication of an interaction bya user with the session notification from within the context of the userexperience; causing the user to join the communication session fromwithin the context of the user experience; and updating the sessionnotification to indicate that the user is joined to the communicationsession.

In addition to the method described above, implementations discussedherein further include: wherein said outputting includes outputting avisual representation of a participant in the communication session thatis not a participant in the user experience; wherein said outputtingincludes outputting a visual representation of a participant in thecommunication session, and wherein the method further includes visuallyanimating the visual representation to indicate a voice activity of theparticipant; wherein said outputting includes visually binding thesession notification to a graphical user interface (GUI) of the userexperience; further including: receiving an indication of a further userinteraction with the session notification after the user has been joinedto the communication session; and presenting a different user experiencethat replaces or visually overlays the user experience, the differentuser experience including visual representations of participants in thecommunication session.

Implementations discussed herein include a method for enabling a user tojoin a communication session from within the context of a different userexperience, the method including: outputting a session notification of acommunication session as part of a user experience that is differentthan the communication session, the user experience involving a userthat is not currently a participant in the communication session;receiving an indication of a user interaction with the sessionnotification from within the context of the user experience; and causingthe user to join the communication session from within the context ofthe user experience.

In addition to the method described above, implementations discussedherein include: further including displaying at least some content ofthe communication session within the session notification and prior tothe user joining the communication session; further including: receivingan indication of a further user interaction with the sessionnotification after the user has been joined to the communicationsession; and presenting a different user experience that replaces orvisually overlays the user experience, the different user experienceincluding visual representations of participants in the communicationsession.

What is claimed is:
 1. A system comprising: one or more processors; andone or more computer-readable storage media storing instructions thatare executable by the one or more processors to perform operationsincluding: outputting a session notification of a communication sessionas part of a user experience that is different than the communicationsession, the user experience involving a user that is not currently aparticipant in the communication session; receiving an indication of auser interaction with the session notification from within the contextof the user experience; and causing the user to join the communicationsession from within the context of the user experience.
 2. The system asdescribed in claim 1, wherein the communication session is implementedvia a first application, and the user experience comprises a secondapplication different than the first application.
 3. The system asdescribed in claim 1, wherein the user experience comprises a text chatexperience, and the communication session comprises a real-time exchangeof voice media.
 4. The system as described in claim 1, wherein thesession notification includes a representation of a different user thatis a participant in the communication session but is not a participantin the user experience.
 5. The system as described in claim 1, whereinthe session notification is a visual representation of a communicationobject that is embedded within the user experience.
 6. The system asdescribed in claim 1, wherein the session notification is a visualrepresentation of a communication object that is embedded within theuser experience, and wherein the communication object is controlled by acommunication client that manages the communication session.
 7. Thesystem as described in claim 1, wherein the session notification is avisual representation of a communication object that is embedded withinthe user experience, and wherein the communication object is portablesuch that the communication object is embeddable in multiple differentuser experiences.
 8. The system as described in claim 1, wherein saidcausing the user to join the communication session comprises:communicating a query that includes a request to allow the user to jointhe communication session; and receiving a query response indicatingthat the user is permitted to join the communication session.
 9. Thesystem as described in claim 1, wherein the user is joined to thecommunication session such that the user is enabled to, from within thecontext of the user experience, concurrently participate in thecommunication session and interact with the user experience.
 10. Thesystem as described in claim 1, wherein the session notificationincludes visual representations of different participants in thecommunication session, and wherein the operations further include, basedon the user joining the communication session, updating the sessionnotification to include a visual representation of the user.
 11. Thesystem as described in claim 1, wherein the operations further include:presenting a different user experience that replaces or visuallyoverlays the user experience, the different user experience includingvisual representations of participants in the communication session; andvisually animating a particular visual representation of a remoteparticipant in the communication session to indicate a voice activity ofthe remote participant.
 12. The system as described in claim 1, whereinthe operations further include: receiving an indication of a furtheruser interaction with the session notification after the user has beenjoined to the communication session; and presenting a different userexperience that replaces or visually overlays the user experience, thedifferent user experience including visual representations ofparticipants in the communication session.
 13. A method comprising:outputting a session notification of a communication session as part ofa user experience that is different than communication session;receiving an indication of an interaction by a user with the sessionnotification from within the context of the user experience; causing theuser to join the communication session from within the context of theuser experience; and updating the session notification to indicate thatthe user is joined to the communication session.
 14. The method asrecited in claim 13, wherein said outputting comprises outputting avisual representation of a participant in the communication session thatis not a participant in the user experience.
 15. The method as recitedin claim 13, wherein said outputting comprises outputting a visualrepresentation of a participant in the communication session, andwherein the method further comprises visually animating the visualrepresentation to indicate a voice activity of the participant.
 16. Themethod as recited in claim 13, wherein said outputting comprisesvisually binding the session notification to a graphical user interface(GUI) of the user experience.
 17. The method as recited in claim 13,further comprising: receiving an indication of a further userinteraction with the session notification after the user has been joinedto the communication session; and presenting a different user experiencethat replaces or visually overlays the user experience, the differentuser experience including visual representations of participants in thecommunication session.
 18. A method comprising: outputting a sessionnotification of a communication session as part of a user experiencethat is different than the communication session, the user experienceinvolving a user that is not currently a participant in thecommunication session; receiving an indication of a user interactionwith the session notification from within the context of the userexperience; and causing the user to join the communication session fromwithin the context of the user experience.
 19. The method as recited inclaim 18, further comprising displaying at least some content of thecommunication session within the session notification and prior to theuser joining the communication session.
 20. The method as recited inclaim 18, further comprising: receiving an indication of a further userinteraction with the session notification after the user has been joinedto the communication session; and presenting a different user experiencethat replaces or visually overlays the user experience, the differentuser experience including visual representations of participants in thecommunication session.